package com.zzg.mybatis.generator.model;

import lombok.Data;

/**
 *
 * GeneratorConfig is the Config of mybatis generator config exclude database
 * config
 *
 * Created by Owen on 6/16/16.
 */
@Data
public class GeneratorConfig {

	/**
	 * 本配置的名称
	 */
	private String name;

	/**
	 * 连接数据库jar文件路径
	 */
	private String connectorJarPath;

	/**
	 * 项目所在目录
	 */
	private String projectFolder;

	/**
	 * 实体类名包名
	 */
	private String modelPackage;

	/**
	 * 实体类存放目录
	 */
	private String modelPackageTargetFolder;

	/**
	 * Mapper接口包名
	 */
	private String daoPackage;

	/**
	 * Mapper接口存放目录
	 */
	private String daoTargetFolder;

	/**
	 * 自定义接口名称(选填)
	 */
	private String mapperName;

	/**
	 * 映射XML文件包名
	 */
	private String mappingXMLPackage;

	/**
	 * 映射XML文件存放目录
	 */
	private String mappingXMLTargetFolder;

	/**
	 * 表名
	 */
	private String tableName;

	/**
	 * Java实体类名
	 */
	private String domainObjectName;

	
	/**
	 * 分页插件(暂时只支持MySQL和PostgreSQL)
	 */
	private boolean offsetLimit;

	/**
	 * 生成实体域注释(来自表注释)
	 */
	private boolean comment;

	/**
	 * 覆盖原XML
	 */
	private boolean overrideXML;

	/**
	 * 生成toString/hashCode/equals方法
	 */
	private boolean needToStringHashcodeEquals;

	/**
	 * select 增加ForUpdate
	 */
	private boolean needForUpdate;

	/**
	 * DAO使用 @Repository 注解
	 */
	private boolean annotationDAO;

	/**
	 * 生成JPA注解
	 */
	private boolean annotation;

	/**
	 * 使用实际的列名
	 */
	private boolean useActualColumnNames;

	/**
	 * 使用Example
	 */
	private boolean useExample;

	/**
	 * 主键(选填)
	 */
	private String generateKeys;

	/**
	 * 生成文件的编码
	 */
	private String encoding;

	/**
	 * 启用as别名查询
	 */
	private boolean useTableNameAlias;

	/**
	 * DAO方法抽出到公共父接口
	 */
	private boolean useDAOExtendStyle;

	/**
	 * 使用Schema前缀
	 */
    private boolean useSchemaPrefix;

    /**
     * JSR310: Date and Time API
     */
    private boolean jsr310Support;

}
